package cn.xueden.system.service;

import cn.xueden.system.model.entity.Notice;
import cn.xueden.system.model.form.NoticeForm;
import cn.xueden.system.model.vo.NoticeVO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

/**功能描述：公告服务接口
 * @author:梁志杰
 * @date:2025/6/10
 * @description:cn.xueden.system.service
 * @version:1.0
 */
public interface INoticeService extends IService<Notice> {

    /**
     * 添加公告
     * @param noticeForm
     * @return
     */
    boolean addNotice(NoticeForm noticeForm);

    /**
     * 删除公告
     * @param ids
     * @return
     */
    boolean deleteNotice(String ids);

    /**
     * 删除单条公告
     * @param id
     * @return
     */
    boolean deleteNoticeById(Long id);

    /**
     * 修改公告
     * @param noticeForm
     * @return
     */
    boolean updateNotice(NoticeForm noticeForm);

    /**
     * 分页获取公告列表
     * @param pageNum
     * @param pageSize
     * @param title
     * @return
     */
    Page<NoticeVO> getNoticePaging(Integer pageNum, Integer pageSize, String title);
}
